Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices, personal digital assistants (PDAs), laptop computers, desktop computers, digital cameras, digital recording devices, cellular or satellite radio telephones, and the like. Digital video devices can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, recording and playing full motion video sequences.
A number of different video encoding standards have been established for encoding digital video sequences. The Moving Picture Experts Group (MPEG), for example, has developed a number of standards including MPEG-1, MPEG-2 and MPEG-4. Other standards include the International Telecommunication Union (ITU) H.263 standard, QuickTime™ technology developed by Apple Computer of Cupertino Calif., Video for Windows™ and Windows™ media developed by Microsoft Corporation of Redmond, Wash., Indeo™ developed by Intel Corporation, RealVideo™ from RealNetworks, Inc. of Seattle, Wash., and Cinepak™ developed by SuperMac, Inc. Updated versions of these standards as well as new standards continue to emerge and evolve, including the ITU H.264 standard and a number of proprietary standards. Many image encoding standards have also been developed for compression of still images, such as the JPEG standard. JPEG stands for “Joint Photographic Experts Group,” which is a standardization committee.
Many encoding standards may make use of what is referred to as “intra-prediction encoding” or simply “intra-prediction.” In H.263, intra-prediction encoding is also referred to as “advanced intra-coding,” and the prediction process is commonly referred to as “AC/DC prediction.” In general, intra-prediction encoding refers to an encoding process that exploits redundancy within a given video frame or image in order to compress the amount of data needed to encoded the video frame or image.
Intra-prediction encoding may be used alone as a compression technique, such as for still image compression, but is more commonly implemented along with other video encoding techniques in the compression of video sequences. For example, intra-prediction encoding may be used in conjunction with inter-frame encoding techniques that utilize similarities between successive video frames, referred to as temporal or inter-frame correlation. Inter-frame encoding can provide for inter-frame compression by exploiting data redundancy across frames and converting pixel-based representations of video frames to motion representations. When intra-prediction is used with inter-frame compression, video sequences can be significantly compressed.
In order to support various types of compression, a digital video device typically includes an encoder for compressing digital video sequences, and a decoder for decompressing the digital video sequences. In many cases, the encoder and decoder form an integrated encoder/decoder (CODEC) that operates on blocks of pixels within frames that define the sequence of video images.
For intra-prediction encoding, the encoder may utilize a mode-selection engine, which selects the best mode for intra-prediction of a given frame or image. For example, Annex I of the ITU H.263 encoding standard provides for three possible intra-prediction modes, a horizontal AC/DC mode, a vertical AC/DC mode and a DC only mode. DC modes refer to modes that use the DC coefficient of video blocks, which represents the average value of a video block, whereas AC modes uses AC coefficients, which are the remaining (non-DC) coefficients of the video block. Annex I of the ITU H.263 encoding standard also specifies how the mode selection can be performed. Other standards such as MPEG-4 and the ITU H.264 encoding standard also make use of modes for inter-prediction encoding. Unfortunately, these different standards conventionally require separate mode selection engines in order to support intra-prediction mode selection for the different standards.